$(function() {
    $("html, body").on('click', '.newEm', function(e) { // 新增报价
        e.stopPropagation();
        $.ajax({ // 该请求获取商家佣金比例
            url:"systemRole/findAllRoleByTypePage.json",
            type:'GET',
            dataType:"json",
            data:{
                roleType:3,page:1,pageNum:1000
            },
            success:function(ret){
                if (ret && ret.roleList && ret.roleList.length > 0) {
                    var bl = ret.roleList[0].remark;
                    $('.offterP i').text(bl);
                }
                $(".deskDiv").css({
                    display: "block",
                    height: $(document).height()
                });
                $('#sys_edit_offer .roleTxt').val('');
                $("#sys_edit_offer").css({
                    top: ($(window).height() - $("#sys_edit_offer").height()) / 2 + $(window).scrollTop() + "px",
                    display: "block"
                });
            }
        });
    }).off('click', '#sys_edit_offer .confirm').on('click', '#sys_edit_offer .confirm', function(e) { // 保存报价
        e.stopPropagation();
        addProduct();
    }).on('click', '#sys_edit_offer .cancel', function(e) { // 取消报价
        e.stopPropagation();
        $(".deskDiv").fadeOut();
        $(".roleNew").fadeOut();
    }).off('click', '#sys_mine_offer_search_btn').on('click', '#sys_mine_offer_search_btn', function(e) { // 查询按钮
        e.stopPropagation();
        getListPage();
    }).off('click', '#sys_mine_offer_list .userSpan a:not(.non_click)').on('click', '#sys_mine_offer_list .userSpan a:not(.non_click)',
            function(e) { // 详情操作按钮
        e.stopPropagation();
        var _index = $('#sys_mine_offer_list .userSpan a').index($(this)); // 获取点击的a标签的索引
        var _ind = _index % 4, _row = Math.floor(_index / 4);
        var _id = $('#sys_mine_offer_id_' + _row).val();
                miofferProId = _id;
        var _status = $(this).parents('tr').find('td:eq(7)').text();
        if (_ind === 0) { // 编辑按钮
            if (_status === '已上架') { // 已上架的报价信息不能直接编辑
                sys_mine_offer_wchints('已上架的商品无法直接编辑，请先下架后再进行编辑操作！');
                return;
            }
            getProductById(_id);
        } else if (_ind === 1) { // 删除按钮
            sys_mine_offer_hints_confirm('确认删除该报价信息吗？', 'hints_mine_offer_delete');
        } else if (_ind === 2) { // 上架按钮
            var _proType = $('#sys_mine_offer_pro_type_' + _row).val();
            if (_proType != 1) {
                sys_mine_offer_wchints('未审核或审核不通过的商品不得上架！');
            } else {
                sys_mine_offer_hints_confirm('确认将该商品上架吗？', 'hints_mine_offer_SJ')
            }
        } else if (_ind === 3) { // 下架按钮
            sys_mine_offer_hints_confirm('确认将该商品下架吗？', 'hints_mine_offer_XJ')
        }
    }).on('click', '.hints .confirm', function (e) {
        $('.hints').hide();
    }).on('click', '.wchints .confirm', function(e) {
        $('.layerDele').hide();
        $('.deskDiv').hide();
    }).on('click', '.cancel', function () {
        $('.layerDele').hide();
        $('.deskDiv').hide();
    }).off('click', '#hints_mine_offer_delete .confirm').on('click', '#hints_mine_offer_delete .confirm', function(e) {
        e.stopPropagation();
        mio_updateProductStatus(miofferProId, 2);
    }).off('click', '#hints_mine_offer_SJ .confirm').on('click', '#hints_mine_offer_SJ .confirm', function(e) {
        e.stopPropagation();
        mio_updateProductStatus(miofferProId, 1);
    }).off('click', '#hints_mine_offer_XJ .confirm').on('click', '#hints_mine_offer_XJ .confirm', function(e) {
        e.stopPropagation();
        mio_updateProductStatus(miofferProId, -1);
    });

    getListPage();
});

var miofferProId = null, _so_cur_page = 1;

/**
 * 获取商家商品列表
 */
function getListPage(param) {
    var _data = {
        "merId": loginUserId, // 商家ID
        "name": $('#sys_mine_offer_s_name').val(), // 服务名
        "productType": $('#sys_mine_offer_s_audit').val(), // 审核状态
        "status": $('#sys_mine_offer_s_status').val(), // 上架状态
        "_": new Date().getTime() // 该参数后台无实际意义，仅为了解决IE下Url一致时，直接读缓存的问题
    }
    _data = $.extend(_data, param);
    $.ajax({
        type: "get",
        url: "htmlWeb/getProductList",
        data: _data,
        error: function () {
            console.log('system_mine_offer.js -> getProducts -> error');
        },
        success: function (ret) {
            $('#sys_mine_offer_list tr:gt(0)').remove();
            console.log(ret);
            if (ret && ret.rows.length > 0) { // 有商家商品数据
                _so_cur_page = ret.nowPage;
                var rows = ret.rows;
                rows.forEach(function(pro, i) {
                    var tr = '<tr>' +
                            '<td>' + (i + 1) + '<input type="hidden" id="sys_mine_offer_id_' + i + '" value="' +
                            pro.id + '"/><input type="hidden" id="sys_mine_offer_pro_type_' + i + '" value="' +
                            (pro.productType == null ? 0 : pro.productType) + '"/></td>' +
                            '<td>' + (pro.name && pro.name != '' ? pro.name : '无') + '</td>' +
                            '<td>' + (pro.currentPrice ? pro.currentPrice : 0) + '</td>' +
                            '<td>' + (pro.unit ? pro.unit : '无') + '</td>' +
                            '<td>' + (pro.deposit ? ((pro.deposit && pro.deposit > 0 && pro.deposit < 100) ? pro.deposit : '设置错误') : '未设置') + '</td>' +
                            '<td>' + (pro.auditCount ? pro.auditCount : 0) + '</td>' +
                            '<td>' + (pro.productType != null && pro.productType == 1 ? '审核通过' : (pro.productType != null && pro.productType == 2 ? '审核不通过' : '待审核')) + '</td>' +
                            '<td>' + (pro.status && pro.status == 1 ? '已上架' : '已下架') + '</td>' +
                            '<td><span class="userSpan"><a href="javascript:;">编辑</a> <a href="javascript:;">删除</a> ' +
                            ((pro.status && pro.status == 1) ? '<a class="non_click">上架</a>' : '<a href="javascript:;">上架</a> ') +
                            (pro.status && pro.status == -1 ? '<a class="non_click">下架</a>' : '<a href="javascript:;">下架</a>') +
                        '</span></td>';
                    $('#sys_mine_offer_list').append(tr);
                });
                createPage(ret);
            } else {
                $('#sys_mine_offer_list tr:eq(0)').after('<tr><td colspan="9">暂无数据！</td></tr>');
            }
        }
    })
}

/**
 * 根据ID获取商品详情
 * @param id 商品ID
 */
function getProductById(id) {
    $.ajax({
        type: "get",
        url: "htmlWeb/getProductById",
        data: {id: id},
        error: function () {
            console.log('system_mine_offer.js -> getProductById -> error');
        },
        success: function (ret) {
            if (ret) {
                // 商品ID
                $('#sys_edit_offer_id').val(ret.id);
                // 服务名
                $('#sys_edit_offer ul li:eq(0) input').val(ret.name);
                // 价格
                $('#sys_edit_offer ul li:eq(1) input').val(ret.currentPrice);
                // 单位
                $('#sys_edit_offer ul li:eq(2) input').val(ret.unit);
                // 定金比例
                $('#sys_edit_offer ul li:eq(3) input').val(ret.deposit);
                // 描述
                $('#smo_edit_desc').val(ret.descn);
                $.ajax({ // 该请求获取商家佣金比例
                    url: "systemRole/findAllRoleByTypePage.json",
                    type: 'GET',
                    dataType: "json",
                    data: {
                        roleType: 3, page: 1, pageNum: 1000
                    },
                    success: function (ret1) {
                        if (ret1 && ret1.roleList && ret1.roleList.length > 0) {
                            var bl = ret1.roleList[0].remark;
                            $('.offterP i').text(bl);
                        } else {
                            $('.offterP i').text(0);
                        }
                        $(".deskDiv").css({
                            display: "block",
                            height: $(document).height()
                        });
                        $("#sys_edit_offer").css({
                            top: ($(window).height() - $("#sys_edit_offer").height()) / 2 + $(window).scrollTop() + "px",
                            display: "block"
                        });
                    }
                });
            }
        }
    });
}

/**
 * 新增报价信息
 */
function addProduct() {
    // 服务名
    var _srvName = $('#sys_edit_offer ul li:eq(0) input').val();
    // 价格
    var _price = $('#sys_edit_offer ul li:eq(1) input').val();
    // 单位
    var _unit = $('#sys_edit_offer ul li:eq(2) input').val();
    // 定金比例
    var _deposit = $('#sys_edit_offer ul li:eq(3) input').val();
    // 佣金比例
    var _yjbl = $('.offterP i').text();
    // 描述
    var _desc = $('#smo_edit_desc').text() && $('#smo_edit_desc').text() != '' ? $('#smo_edit_desc').text() : $('#smo_edit_desc').val();
    if (isNull(_srvName)) {
        sys_mine_offer_hints('服务名不能为空');
        $('#sys_edit_offer ul li:eq(0) input').val('').focus();
        return;
    } else if (isNull(_price)) {
        sys_mine_offer_hints('价格不能为空！');
        $('#sys_edit_offer ul li:eq(1) input').val('').focus();
        return;
    } else if (isNaN(_price)) {
        sys_mine_offer_hints('价格必须是数字！');
        $('#sys_edit_offer ul li:eq(1) input').focus();
        return;
    } else if (isNull(_unit)) {
        sys_mine_offer_hints('单位不能为空！');
        $('#sys_edit_offer ul li:eq(2) input').val('').focus();
        return;
    } else if (isNull(_deposit)) {
        sys_mine_offer_hints('定金比例不能为空！');
        $('#sys_edit_offer ul li:eq(3) input').val('').focus();
        return;
    } else if (isNaN(_deposit)) {
        sys_mine_offer_hints('定金比例必须是数字！');
        $('#sys_edit_offer ul li:eq(3) input').focus();
        return;
    } else if (_deposit < 0 || _deposit > 100) {
        sys_mine_offer_hints('定金比例必须是0-100之间的数字！');
        $('#sys_edit_offer ul li:eq(3) input').focus();
        return;
    } else if (_deposit < parseInt(_yjbl)) {
        sys_mine_offer_hints('定金比例必须高于或等于佣金比例！<br/>佣金比例可参考下方备注信息！');
        $('#sys_edit_offer ul li:eq(3) input').focus();
        return;
    }
    var _data = {
        "id": $('#sys_edit_offer_id').val(), // 商品ID
        "name": _srvName, // 服务名
        "current_price": _price, // 价格
        "unit": _unit, // 单位
        "deposit": _deposit, // 比例
        "descn":  _desc
    }
    var isRead = true;
    if (!isRead) {
        return;
    } else {
        isRead = false;
    }
    $.post('htmlWeb/addProduct', _data, function(ret) {
        if (ret && ret.result) {
            sys_mine_offer_wchints('报价信息编辑成功');
            $(".wchints").css({
                top:($(window).height()-$(".hints").height())/2+$(window).scrollTop()+"px",
                display:"block"
            });
            getListPage({
                "curPage": _so_cur_page, // 传入当前页数
            });
            isRead = true;
        } else {
            sys_mine_offer_hints('报价信息编辑失败');
        }
    }, 'json');
}

/**
 * 根据商品ID删除商品信息
 * @param id 商品ID
 * @param status 商品状态  1 - 上架；2 - 删除；-1 - 下架
 */
function mio_updateProductStatus(id, status) {
    var _data = {
        id: id,
        status: status
    };
    $.post('htmlWeb/updateProductStatus', _data, function(ret) {
        $('.layerDele').hide();
        if (ret && ret.isSuccess) {
            sys_mine_offer_wchints(status == 1 ? '商品上架成功' : (status == 2 ? '商品删除成功' : '商品下架成功'));
            getListPage();
        } else {
            if (ret && !ret.isDelete) {
                sys_mine_offer_wchints('有未完成的订单，不允许删除！');
            } else {
                sys_mine_offer_wchints(status == 1 ? '商品上架失败' : (status == 2 ? '商品删除失败' : '商品下架失败'));
            }
        }
    }, 'json');
}

/**
 * 去除字符串两边空格后，判断是否为空
 * @param val 字符串
 * @returns {boolean} true-空；false-非空
 */
function isNull(val) {
    val = val.replace(/(^\s*)|(\s*$)/g, "");
    return val != '' ? false : true;
}

//友情提示 alert
var sys_mine_offer_wchints = function(v){
    $('.deskDiv').show();
    $("#hintsPPValue").html(v);
    $(".wchints").css({
        top:($(window).height()-$(".hints").height())/2+$(window).scrollTop()+"px",
        display:"block"
    });
}

//友情提示 alert
var sys_mine_offer_hints = function(v){
    $('.deskDiv').show();
    $("#hintsPValue").html(v);
    $(".hints").css({
        top:($(window).height()-$(".hints").height())/2+$(window).scrollTop()+"px",
        display:"block"
    });
}

//友情提示 confirm
var sys_mine_offer_hints_confirm = function(v, _id) {
    $('.deskDiv').show();
    $("#" + _id + " .hintsValue").html(v);
    $("#" + _id).css({
        top:($(window).height()-$("#" + _id).height())/2+$(window).scrollTop()+"px",
        display:"block"
    });
}
